home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / knowhow4 / imagebuf.cpp < prev    next >
C/C++ Source or Header  |  1994-10-10  |  928b  |  36 lines

  1. #include "imagebuf.h"
  2.  
  3.  
  4. unsigned char ImageBuffer::image_get_pixel(imageP image, int byte,
  5.     int vert_shift)
  6.     {
  7.     int line_size = (image->xmax + 8) >> 3;
  8.  
  9.     unsigned char pix, plane;
  10.     int work_byte = byte;
  11.     pixels[0] = pixels[1] = pixels[2] = pixels[3] = pixels[4] = pixels[5]
  12.     = pixels[6] = pixels[7] = 0;
  13.     for(plane = 0; plane < 4; plane++, work_byte += line_size)
  14.     {
  15.     pix = image->data[work_byte];
  16.     for(int X = 0; X < 8; X++)
  17.         {
  18.         int step = (7 - X);
  19.         pixels[X] = pixels[X]
  20.          | (((pix >> step) & 1) << (4 - plane - 1));
  21.         }
  22.     }
  23.     int x = byte << 3;
  24.     for(int k = 0; k < 8; k++)
  25.     pixels[k] = bw_pix((uchar)(pixels[k]), x + k, vert_shift);
  26.     return (pixels[0] << 7)
  27.         | (pixels[1] << 6)
  28.         | (pixels[2] << 5)
  29.         | (pixels[3] << 4)
  30.         | (pixels[4] << 3)
  31.         | (pixels[5] << 2)
  32.         | (pixels[6] << 1)
  33.         | pixels[7];
  34.     }
  35. //////////////////////
  36.